package com.sino.business;

import java.util.List;

import com.sino.model.RoleModel;
import com.sino.model.StaticModel;

public interface IRoleService 
{
	/**
	 * 增加角色信息
	 * 
	 * @param role
	 */
	public void saveRoleModel(RoleModel roleModel);

	/**
	 * 删除角色信息
	 * 
	 * @param id
	 */
	public int delRoleModel(int id);

	/**
	 * 更新角色信息
	 * 
	 * @param role
	 */
	public void updateRoleModel(RoleModel roleModel);

	/**
	 * 列表查询所有角色信息
	 * 
	 * @return
	 */
	public List<RoleModel> listAllRoleModels();
    /**
     * 查询出所有用户的id和名字
     * @return
     */
    public List<StaticModel> listAllUsers();
    /**
     * 查询出所有专家的id和名字
     * @return
     */
    public List<StaticModel> listAllExperts();
    /**
     * 授予或者回收实体权限
     * @param roleId
     * @param type
     * @param entityList
     */
    public void saveOrRevokeEntity(int roleId,int type,String[] entityList);
    /**
     * 构造用户列表，已经授权的用户自动打上勾
     * @param roleId
     * @return
     */
    public String listUserString(int roleId);
    /**
     * 查询列出所有专家,用于专家授权
     * @return
     */
    public List<StaticModel> listAllExpertForAuth(int roleId);
}
